package c14Annotation;

import java.util.*;

@SuppressWarnings("rawtypes")//抑制原始类型转换警告。注释后下面的List l=new ArrayList();将会被警告。
public class 四个基本的Annotation {

//	@Override//强制子类某方法必须是重写父类的方法，否则编译出错，提示去掉该Annotation。
//	public void name() {}

	@Deprecated//声明该方法已过时
	public static void sm() {
	}

	@SafeVarargs//抑制堆污染警告。
	public static void faultyMethod(List<String>... listStrArray) {
		//Java语言不允许创建泛型数组，因此listArray只能被当成List[]处理
		//此时相当于把List<String>赋给了List，已经发生了“擦除”
		List[] listArray = listStrArray;
		List<Integer> myList = new ArrayList<Integer>();
		myList.add(new Random().nextInt(100));
		//把listArray的第一个元素赋为myList
		listArray[0] = myList;
		String s = listStrArray[0].get(0);
	}

	public static void main(String[] args) {
		//编程时提示改方法已过时
		sm();
		List l = new ArrayList();
		l.size();

	}

}
